package com.ruoyi.teacher.domain;

import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.core.annotation.Excel;
import com.ruoyi.common.core.web.domain.BaseEntity;

/**
 * 领取任务对象 sys_teacher_task
 * 
 * @author clid
 * @date 2024-03-28
 */
public class TeacherTask extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** $column.columnComment */
    @Excel(name = "${comment}", readConverterExp = "$column.readConverterExp()")
    private Long id;

    /** 标题 */
    @Excel(name = "标题")
    private String title;

    /** 任务详情 */
    @Excel(name = "任务详情")
    private String details;

    /** 任务状态（0可领取，1已领取，2已完成，3异常） */
    @Excel(name = "任务状态", readConverterExp = "0=可领取，1已领取，2已完成，3异常")
    private Long status;

    /** 领取数量 */
    @Excel(name = "领取数量")
    private Long count;

    /** 是否一次性任务（0是，1否） */
    @Excel(name = "是否一次性任务", readConverterExp = "0=是，1否")
    private Long single;

    /** 截至时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "截至时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date endTime;

    /** 任务人 */
    @Excel(name = "任务人")
    private String taskPersonName;

    /** 任务人id */
    @Excel(name = "任务人id")
    private Long taskPersonId;

    /** 结果描述 */
    @Excel(name = "结果描述")
    private String resultsDescription;

    public void setId(Long id) 
    {
        this.id = id;
    }

    public Long getId() 
    {
        return id;
    }
    public void setTitle(String title) 
    {
        this.title = title;
    }

    public String getTitle() 
    {
        return title;
    }
    public void setDetails(String details) 
    {
        this.details = details;
    }

    public String getDetails() 
    {
        return details;
    }
    public void setStatus(Long status) 
    {
        this.status = status;
    }

    public Long getStatus() 
    {
        return status;
    }
    public void setCount(Long count) 
    {
        this.count = count;
    }

    public Long getCount() 
    {
        return count;
    }
    public void setSingle(Long single) 
    {
        this.single = single;
    }

    public Long getSingle() 
    {
        return single;
    }
    public void setEndTime(Date endTime) 
    {
        this.endTime = endTime;
    }

    public Date getEndTime() 
    {
        return endTime;
    }
    public void setTaskPersonName(String taskPersonName) 
    {
        this.taskPersonName = taskPersonName;
    }

    public String getTaskPersonName() 
    {
        return taskPersonName;
    }
    public void setTaskPersonId(Long taskPersonId) 
    {
        this.taskPersonId = taskPersonId;
    }

    public Long getTaskPersonId() 
    {
        return taskPersonId;
    }
    public void setResultsDescription(String resultsDescription) 
    {
        this.resultsDescription = resultsDescription;
    }

    public String getResultsDescription() 
    {
        return resultsDescription;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("title", getTitle())
            .append("details", getDetails())
            .append("status", getStatus())
            .append("count", getCount())
            .append("single", getSingle())
            .append("createTime", getCreateTime())
            .append("endTime", getEndTime())
            .append("taskPersonName", getTaskPersonName())
            .append("taskPersonId", getTaskPersonId())
            .append("resultsDescription", getResultsDescription())
            .toString();
    }
}
